// 包含两种I/O库，可以使用任一种输入输出方式
#include <algorithm>
#include <iostream>
#include <stdio.h>
using namespace std;

int rerange1(int);
int rerange2(int);
int main()
{
    int n;
    cin >> n;
    // 请在此添加代码，输出整数进入黑洞过程
    /********** Begin *********/
    int count = 1;
    while (n != 495)
    {
        cout << count++ << ":" << rerange1(n) << "-" << rerange2(n) << "=" << rerange1(n) - rerange2(n) << endl;
        n = rerange1(n) - rerange2(n);
    }
    /********** End **********/
    return 0;
}

int rerange1(int n)
{ //降序重排
    int a = n % 10;
    int b = n / 10 % 10;
    int c = n / 100 % 10;
    int array[] = {a, b, c};
    sort(array, array + 3);
    return 100 * array[2] + 10 * array[1] + array[0];
}

int rerange2(int n)
{ //升序重排
    int a = n % 10;
    int b = n / 10 % 10;
    int c = n / 100 % 10;
    int array[] = {a, b, c};
    sort(array, array + 3);
    return 100 * array[0] + 10 * array[1] + array[2];
}